package pl.enigmatic.parser;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;


/**
 * 
 * only for collective type fields: maps and collections
 * 
 * @author reggie_7
 * 
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface XMLAccessible {

	/** map key type */
	Class<?> key() default String.class;

	/** map element type */
	Class<?> value();

	@Retention(RetentionPolicy.RUNTIME)
	@Target(ElementType.METHOD)
	public @interface Setter {

		String value();
	}

	// TODO uwzględnić
	@Retention(RetentionPolicy.RUNTIME)
	@Target({ ElementType.FIELD })
	public @interface Item {

		String value();
	}
}
